package org.blogwu.learn.leetcode.链表;

import org.blogwu.learn.algorithm.链表学习._双向循环链表;

public class _约瑟夫问题 {

    public static void main(String[] args) {
        _双向循环链表 pp = new _双向循环链表();
        pp.add(1);
        pp.add(2);
        pp.add(3);
        pp.add(4);
        pp.add(5);
        pp.add(6);
        pp.add(7);
        pp.add(8);
        System.out.println("pp size: " + pp.size());
//        pp.getNext();
//        System.out.println("remove:"+  pp.removeCurrent());
//        pp.getNext();
//        System.out.println("remove:"+  pp.removeCurrent());
//        pp.getNext();
//        System.out.println("remove:"+  pp.removeCurrent());
//        System.out.println("00--" + pp.size());
        pp.reset();
        while (pp.size() > 1) {
            for (int i = 0; i < 3; i++) {
                if (i == 2) {
                    System.out.println("remove:" + pp.removeCurrent());
                } else {
                    pp.getNext();
                }
            }
        }

        System.out.println("剩下节点：" + pp.getCurrentItem());
    }


}
